home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Day Cry
/
Day Cry CD.bin
/
oh_towns
/
install
/
install.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-09-20
|
7KB
|
274 lines
/*************************************************************************
*
* installer for APPARE CD vol.1
*
* cording ... TaroPYON
*
*************************************************************************/
#include "ccilib.h"
#include "kbcode.h"
#include "install.h"
#define VERSION "1.01a"
#define EDITION "01"
#define EVNO_EXIT (9999)
#define SCREEN_MODE (0x030A)
int DrvInst = -1;
int PltNoWhite = 5;
int ColBoxNormal = 0;
int ColBoxInfo = 0;
int ColBoxCaution = 0;
int ColBoxError = 0;
int ColMesh = 0;
int init();
int term();
int install_main();
int set_debug_menu(char *mnu);
#ifdef DEBUG
# define _TOPMENU_NUM (2)
#else
# define _TOPMENU_NUM (1)
#endif
int main(int argc, char **argv)
{
init();
install_main();
term();
return (0);
}
int init()
{
char msg[80], tmp[128];
char *mnu;
char *msgMenu[_TOPMENU_NUM];
char *img;
int winBasCol;
APL_init(SCREEN_MODE,1,1);
LHA_sysInit(NULL); /* LHA.DLLé╠Åëè·ë╗ */
/*------------------------------------------------------------------*/
disp_desktop();
SCN_wrtPage(1);
tmp[0] = 0;
tmp[1] = 255; /* blue */
tmp[2] = 255; /* red */
tmp[3] = 255; /* green */
SCN_palette(0,PltNoWhite,tmp);
/* âxü[âXâEâBâôâhâD ------------------------------------------------*/
SCN_wrtPage(1);
winBasCol = 0;
/* winBasCol = SCN_tile_newMixCol(winBasCol,MIXCOL_STD1,C_HWHITE,C_WHITE);*/
winBasCol = C_THROUGH;
APL_openBaseWin(winBasCol);
/* âgâbâvâoü[ ----------------------------------------------------*/
SCN_wrtPage(1);
sprintf(msg,"%c%c", Gaiji_ohFMTOWNS>>8, Gaiji_ohFMTOWNS&0xFF);
msgMenu[0] = " INSTALL ";
#if _TOPMENU_NUM > 1
msgMenu[1] = " DEBUG ";
#endif
APL_openTopBarMenu(Fnt16x16,msg,C_HGREEN, _TOPMENU_NUM,Fnt16x12,msgMenu,C_MBLACK);
/* [Oh!FM TOWNS]âüâjâàü[ ----------------------------------------*/
MNU_datAdd( SysMnu, 0, 'A', Fnt16x16, 0, "about_dlg" , 0, "é▒é╠âvâìâOâëâÇé╔é┬éóé─");
MNU_datAdd( SysMnu, 0, 'F', Fnt16x16, 0, "dsp_freemem", 0, "âtâèü[âüâéâè" );
/* [INSTALL]âüâjâàü[ --------------------------------------------*/
mnu = AplMnu[0];
MNU_datAdd( mnu, 0, 'H', Rom16x16, 0, "inst_help", "message.doc", "Éαû╛" );
MNU_datAdd( mnu, 0, 0 , Rom16x16, 0, "" , 0 , NULL );
MNU_mnuAdd( mnu, 0, 'A', Fnt16x16, get_inst_tool_mnu() , "âcü[âï" );
MNU_mnuAdd( mnu, 0, 'I', Fnt16x16, get_inst_imag_mnu() , "ëµæ£üòô«ëµ");
MNU_mnuAdd( mnu, 0, 'S', Fnt16x16, get_inst_snd_mnu() , "âTâEâôâh" );
MNU_mnuAdd( mnu, 0, 'G', Fnt16x16, get_inst_game_mnu() , "âQü[âÇ" );
MNU_mnuAdd( mnu, 0, 'D', Fnt16x16, get_inst_data_mnu() , "âfü[â^" );
MNU_mnuAdd( mnu, 0, 'T', Fnt16x16, get_inst_taro_mnu() , "TaroPYON" );
/* [DEBUG]âüâjâàü[ ------------------------------------------------*/
#ifdef DEBUG
set_debug_menu( AplMnu[1] );
#endif
/* [EXIT]â{â^âô ----------------------------------------------------*/
APL_setExitEvt("EXIT",EVNO_EXIT,"exit_chk");
/* DTA âëâCâuâëâè ------------------------------------------------*/
AplDtaInit();
/* ÉFö╘ìå --------------------------------------------------------*/
ColBoxNormal = SCN_tile_newMixCol(ColBoxNormal ,MIXCOL_NORMAL,C_DARK ,C_WHITE);
ColBoxInfo = SCN_tile_newMixCol(ColBoxInfo ,MIXCOL_NORMAL,C_HGREEN ,C_WHITE);
ColBoxError = SCN_tile_newMixCol(ColBoxError ,MIXCOL_NORMAL,C_HRED ,C_WHITE);
ColBoxCaution = SCN_tile_newMixCol(ColBoxCaution,MIXCOL_NORMAL,C_HYELLOW,C_WHITE);
ColMesh = SCN_tile_newMixCol(ColMesh ,MIXCOL_NORMAL,C_THROUGH,C_WHITE);
return (NORMAL);
}
int term()
{
char tmp[256];
FS_chdrv(toupper(DirStart[0]) - 'A');
sprintf(tmp,"%s.",DirStart);
FS_chdir(tmp);
APL_term();
}
int disp_desktop()
{
#define DESKTOP_TIFNUM (8)
int n;
char tmp[256];
static char lastno = -1;
static char *tbl[DESKTOP_TIFNUM] =
{
"towns04.tif",
"towns05.tif",
"towns06.tif",
"towns07.tif",
"towns08.tif",
"towns09.tif",
"towns10.tif",
"towns11.tif"
};
if ( lastno < 0 )
{
n = 7;
} else
{
srand( clock() & 0x7FFFFFFF );
do
{
n = rand() % DESKTOP_TIFNUM;
} while ( n == lastno );
}
sprintf(tmp,"%s../HYOUSHI/%s", DirStart, tbl[n] );
lastno = n;
return tif_load(tmp);
}
int install_main()
{
int ret;
SCN_wrtPage(1);
syl_clear();
for (;;)
{
MOS_CON();
ret = EV_chk(EvTop,0);
if ( ret == EVNO_EXIT )
break;
}
return (0);
}
int exit_chk()
{
char *dlgTxm;
int i, ret;
static char *msgtbl[4] =
{
"",
"âCâôâXâgü[âëé≡ÅIù╣é╡é▄é╖é⌐üH",
"",
NULL
};
dlgTxm = DlgTxm_open(ColBoxCaution);
for ( i = 0; msgtbl[i] != NULL; ++i )
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER, msgtbl[i]);
DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HWHITE, C_DARK,
'\r' , KA_EXEC , EVNO_EXIT, "", 0, "ÅIù╣ : [Ä└ìs]");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HWHITE, C_DARK,
'\x1B', KA_CANCEL, 0, "", 0, "ĵÅ┴ : [ĵÅ┴]");
DlgTxm_setSize(dlgTxm,480,64);
DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
ret = DlgTxm_start(dlgTxm);
DlgTxm_close(dlgTxm);
if ( ret != EVNO_EXIT )
ret = 0;
return (ret);
}
int about_dlg()
{
char *dlgTxm;
dlgTxm = DlgTxm_open(ColBoxNormal);
DlgTxm_setTitle(dlgTxm,Fnt16x16, "ôVÉ░CD installer ver.%s edition #%s",
VERSION, EDITION );
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,"üuôVÉ░ébéc Vol.1 ö≥ù┤é╠è¬üvâCâôâXâgü[âïâvâìâOâëâÇ");
DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER,"");
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER, "%c%c",
Gaiji_ohFMTOWNS>>8, Gaiji_ohFMTOWNS&0xFF );
DlgTxm_putf( dlgTxm, Rom16x16, TXMDAT_ATT_CENTER, "1994 ÅHé╠ô┴ò╩ìåòtÿ^");
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER, "%c%c SOFTBANK",
Gaiji_copyright>>8, Gaiji_copyright&0xFF );
DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK,
C_WHITE, C_HILIGHT, C_DARK, '\r', KA_EXEC, 0, "", 0, "OK : [Ä└ìs]");
DlgTxm_setSize(dlgTxm,320,48);
DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
DlgTxm_start(dlgTxm);
DlgTxm_close(dlgTxm);
return (0);
}
int dsp_freemem()
{
unsigned int siz;
char *dlgTxm;
char tmp1[32], tmp2[32];
siz = APL_getFreeMem();
dlgTxm = DlgTxm_open(ColBoxInfo);
DlgTxm_setTitle(dlgTxm,Fnt16x16, "FREE MEMORY SIZE");
DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER,
"free memory %s (%s) bytes",
fdl_ltoaDig(siz,tmp1), fdl_ltoaMsg(siz,tmp2) );
DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK,
C_WHITE, C_HILIGHT, C_DARK, '\r', KA_EXEC, 0, "", 0, "OK : [Ä└ìs]");
DlgTxm_setSize(dlgTxm,400,64);
DlgTxm_setPosition(dlgTxm,DLGPOS_NORMAL,2,22);
DlgTxm_start(dlgTxm);
DlgTxm_close(dlgTxm);
}
#include "insttool.c"
#include "instimg.c"
#include "instsnd.c"
#include "instgame.c"
#include "instdata.c"
#include "insttaro.c"
#include "instcont.c"
#include "instexec.c"
#include "instlib.c"
#include "item.c"
#ifdef DEBUG
#include "debug.c"
#endif